home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / Issue67 / ntserv / BeeperServiceu.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  2001-01-12  |  1.4 KB  |  75 lines

  1. unit BeeperServiceu;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, 
  7.   Controls, SvcMgr, Dialogs;
  8.  
  9. type
  10.   TService1 = class(TService)
  11.     procedure Service1Execute(Sender: TService);
  12.   private
  13.     { Private declarations }
  14.     procedure Ontimerproc(Sender: TObject);
  15.   public
  16.     function GetServiceController: TServiceController; override;
  17.     { Public declarations }
  18.   end;
  19.  
  20. var
  21.   Service1: TService1;
  22.  
  23. implementation
  24.  
  25. uses
  26.   Extctrls;
  27.  
  28. {$R *.DFM}
  29.  
  30. procedure ServiceController(CtrlCode: DWord); stdcall;
  31. begin
  32.   Service1.Controller(CtrlCode);
  33. end;
  34.  
  35. function TService1.GetServiceController: TServiceController;
  36. begin
  37.   Result := ServiceController;
  38. end;
  39.  
  40. procedure TService1.Ontimerproc(Sender: TObject);
  41. begin
  42.   Beep; // set a Break point here to enable debugging
  43. end;
  44.  
  45. procedure TService1.Service1Execute(Sender: TService);
  46. var
  47.   fTimer: TTimer;
  48. begin
  49.  
  50.   if FileExists(ExtractFilePath(paramstr(0))+'Debugfile.txt') then
  51.   begin
  52.     fTimer := TTimer.create(nil);
  53.     ftimer.interval := 2000;
  54.     ftimer.ontimer := Ontimerproc;
  55.     ftimer.enabled := true;
  56.  
  57.     while not Terminated and ftimer.enabled do
  58.       ServiceThread.ProcessRequests(True);
  59.  
  60.     ftimer.enabled := false;
  61.     FreeAndNil(ftimer);
  62.   end;
  63.  
  64.   while not Terminated do
  65.   begin
  66.  
  67.     // Do your normal processing here
  68.  
  69.     ServiceThread.ProcessRequests(True);
  70.   end;
  71.  
  72. end;
  73.  
  74. end.
  75.